#!/bin/bash

# 储能模拟数据服务状态查看脚本

PID_FILE="logs/app.pid"
LOG_FILE="logs/app.log"

echo "=== 储能模拟数据服务状态 ==="

if [ ! -f "$PID_FILE" ]; then
    echo "状态: 未运行"
    echo "PID文件不存在"
    exit 0
fi

PID=$(cat "$PID_FILE")

if ps -p $PID > /dev/null 2>&1; then
    echo "状态: 运行中"
    echo "PID: $PID"
    
    # 显示进程信息
    echo ""
    echo "进程信息:"
    ps -p $PID -o pid,ppid,cmd,etime,pcpu,pmem
    
    # 显示端口使用情况
    echo ""
    echo "端口使用情况:"
    netstat -tlnp 2>/dev/null | grep $PID || lsof -i -P | grep $PID
    
    # 显示内存使用情况
    echo ""
    echo "内存使用情况:"
    ps -p $PID -o pid,vsz,rss,pmem,cmd
    
else
    echo "状态: 已停止"
    echo "PID文件存在但进程不存在，清理PID文件"
    rm -f "$PID_FILE"
fi

# 显示日志文件信息
if [ -f "$LOG_FILE" ]; then
    echo ""
    echo "日志文件信息:"
    echo "文件大小: $(ls -lh "$LOG_FILE" | awk '{print $5}')"
    echo "最后修改: $(ls -l "$LOG_FILE" | awk '{print $6, $7, $8}')"
    
    echo ""
    echo "最近的日志 (最后10行):"
    tail -10 "$LOG_FILE"
fi
